package ar.uba.fi.algo3.modelo.disparo;

import java.util.ArrayList;

import fiuba.algo3.titiritero.modelo.ObjetoVivo;

import ar.uba.fi.algo3.auxiliares.Posicion;
import ar.uba.fi.algo3.modelo.CampoBatalla;
import ar.uba.fi.algo3.modelo.nave.*;

public class Mina extends Disparo implements ObjetoVivo{	
	
	protected int turno;
	protected boolean disparar;
	protected boolean acerto;

	public Mina (Posicion unaPosicion, CampoBatalla campoBatalla){
	 	
		super (unaPosicion, campoBatalla);
		this.turno=1;
		this.disparar=false;
	}
	
	@Override
	public int obtenerCosto() {                                    
		return (costo);
	}
	
	@Override
	public void efectua(Nave nave) {
		acerto=false;
		ArrayList<ComponenteNave> componentesNave= nave.obtenerComponentes();
		
		for(ComponenteNave unaComponente : componentesNave){
	        
			if(this.coincideCon(unaComponente.getPosicion())){
	            acerto=true;  
				this.disparar(unaComponente);
				nave.tocaA(nave);
			} 		
		}		
	}	
	
	@Override
	public void vivir() {}

	@Override
	public void tocaA(Disparo disparo) {}

	@Override
	public void tocaA(Nave nave) {}

	@Override
	public void efectua(Disparo disparo) {}

	@Override
	public boolean terminoSuTurno() {
		
		return this.disparar;
	}

	@Override
	public boolean acerto() {

		return acerto;
	}

	@Override
	public String getNombre() {
		return null;
	}
}	

